num_int1 = 123          # 十进制整数
num_int2 = -456         # 负整数
num_int3 = 0b1010       # 二进制（对应十进制10）
num_int4 = 0o123        # 八进制（对应十进制83）
num_int5 = 0x1a3        # 十六进制（对应十进制419）

print("整数类型：", type(num_int1))  # 输出：<class 'int'>
num_float1 = 3.14       # 普通小数
num_float2 = -0.001     # 负小数
num_float3 = 1.2e3      # 科学计数法（等价于1200.0）
num_float4 = 5e-2       # 科学计数法（等价于0.05）

print("浮点数类型：", type(num_float1))  # 输出：<class 'float'>
is_true = True
is_false = False

print("布尔值类型：", type(is_true))  # 输出：<class 'bool'>
str1 = 'hello'          # 单引号字符串
str2 = "world"          # 双引号字符串
str3 = '''多行
字符串'''               # 三引号多行字符串
str4 = "123"            # 纯数字的字符串（仍为str类型）

print("字符串类型：", type(str1))  # 输出：<class 'str'>
num_complex1 = 3 + 4j    # 实部3，虚部4
num_complex2 = -2j       # 实部0，虚部-2
num_complex3 = 5.0 + 1j  # 实部为浮点数

print("复数类型：", type(num_complex1))  # 输出：<class 'complex'>
list1 = [1, 2, 3]               # 整数列表
list2 = ["a", True, 3.14]       # 混合类型列表
list3 = [1, [2, 3], 4]          # 嵌套列表（列表中包含列表）

print("列表类型：", type(list1))  # 输出：<class 'list'>
tuple1 = (1, 2, 3)              # 普通元组
tuple2 = ("a", 1, True)         # 混合类型元组
tuple3 = (1,)                   # 单个元素的元组（必须加逗号，否则视为括号表达式）
tuple4 = (1, (2, 3), 4)         # 嵌套元组

print("元组类型：", type(tuple1))  # 输出：<class 'tuple'>
dict1 = {"name": "Tom", "age": 18}  # 字符串键
dict2 = {1: "a", 2: "b"}            # 整数键
dict3 = {"info": {"height": 175}}   # 嵌套字典（值为字典）

print("字典类型：", type(dict1))  # 输出：<class 'dict'>
set1 = {1, 2, 3}                  # 直接定义（注意：{}空集合需用set()，否则为字典）
set2 = set([1, 2, 2, 3])          # 从列表转换（自动去重，结果为{1,2,3}）
set3 = {1, "a", True}             # 混合类型集合

print("集合类型：", type(set1))  # 输出：<class 'set'>
fset1 = frozenset({1, 2, 3})      # 冻结集合
fset2 = frozenset([4, 5, 6])      # 从列表转换

print("冻结集合类型：", type(fset1))  # 输出：<class 'frozenset'>
none_val = None

print("None类型：", type(none_val))  # 输出：<class 'NoneType'>
bytes1 = b"hello"                 # 字节序列（内容为ASCII字符）
bytes2 = bytes([65, 66, 67])      # 从整数列表转换（65对应'A'，结果为b'ABC'）

print("字节类型：", type(bytes1))  # 输出：<class 'bytes'>
bytearr1 = bytearray(b"hello")    # 从字节转换
bytearr2 = bytearray([65, 66, 67])# 从整数列表转换

print("字节数组类型：", type(bytearr1))  # 输出：<class 'bytearray'>
range1 = range(10)                # 0-9的序列
range2 = range(1, 10, 2)          # 1-9的奇数（步长2）

print("range类型：", type(range1))  # 输出：<class 'range'>
def my_func():                    # 自定义函数
    return "hello"

print("函数类型：", type(my_func))  # 输出：<class 'function'>
print("内置函数类型：", type(print))  # 内置函数也是function类型
class MyClass:                    # 定义类
    pass

obj = MyClass()                   # 创建类的实例

print("类类型：", type(MyClass))    # 输出：<class 'type'>（类本身是type类型）
print("实例类型：", type(obj))      # 输出：<class '__main__.MyClass'>（自定义类实例）
